﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Capa_Entidad;
using Negocio.Clases_BL;
using Capa_Negocio_Interface;
using Capa_Negocio_Facade;

public partial class Ventas_wfCitaListado : System.Web.UI.Page
{
    IFacadeRegistrarCita objFacadeCita = new FacadeRegistrarCita();

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            //ASPxButton3.Attributes.Add("language", "javascript");
            //ASPxButton3.Attributes.Add("onclick", "ShowMensaje();");
            //ASPxButton3.Attributes.Add("onclick", "return confirm('Esta Seguro de Elimanr el Registro seleccionado?');");
        }

        dgListadoCita.DataSource = objFacadeCita.listarVista();
        dgListadoCita.DataBind();
 
       // Cargar_Listado();
    }
    protected void ASPxButton1_Click(object sender, EventArgs e)
    {
        Session["Operacion"] = "C";//C de Crear
        Response.Redirect("wfCita.aspx", true);
    }
    protected void ASPxButton2_Click(object sender, EventArgs e)
    {

        if (dgListadoCita.VisibleRowCount == 0)
        {
            //Util.showmsg("No hay Informacion!!!", this.Page);
            lblMensaje.Text = "No hay Informacion!!!";
            ScriptManager.RegisterStartupScript(this, typeof(Page), "scriptkey", "pcMensaje.Show();", true);
            return;
        }
        
        Session["Operacion"] = "M";//M de Modificar
        Session["IDCita"] = 0;
        Session["IDCita"] = (Int32) dgListadoCita.GetRowValues(dgListadoCita.FocusedRowIndex, new String[] { "CIT_ID_CITA" });
               
        if ((Int32)Session["IDCita"] == 0)
        {
            //Util.showmsg("Seleccione un Registro!!!", this.Page);
            lblMensaje.Text = "Seleccione un Registro!!!";
            ScriptManager.RegisterStartupScript(this, typeof(Page), "scriptkey", "pcMensaje.Show();", true);
            return;
        }
        clsAdmCitaBL BL_AdmCita = new clsAdmCitaBL();


        var c = from p in objFacadeCita.listarCitas()
                where p.CIT_ID_CITA == (Int32)Session["IDCita"]
                select p;


        foreach (var S in c)
       {
            Session["CodPaciente"] =(String)S.ADM_PACIENTE.PAC_CODIGO_PACIENTE;  
           
        }

        Response.Redirect("wfCita.aspx", true);
    }
   

    protected void ASPxButton5_Click(object sender, EventArgs e)
    {

    }
    protected void btnAnulacion_Click(object sender, EventArgs e)
    {
        Session["Operacion"] = "E";//E de Eliminar
        Session["IDCita"] = 0;

        if (dgListadoCita.FocusedRowIndex == -1)
        {
            //Util.showmsg("No hay registro seleccionado!!!", this.Page);
            lblMensaje.Text = "No hay registro seleccionado!!!";
            ScriptManager.RegisterStartupScript(this, typeof(Page), "scriptkey", "pcMensaje.Show();", true);
            return;
        }
        Session["IDCita"] = (Int32)dgListadoCita.GetRowValues(dgListadoCita.FocusedRowIndex, new String[] { "CIT_ID_CITA" });

        clsAdmCitaBL BL_AdmCita = new clsAdmCitaBL();
        ADM_CITA Ent_AdmCita = new ADM_CITA();
        //la cita se puede eliminar si es que el estado no tiene una atencion realizada
        //sino deberia eliminarse normal liberando la progranacion medica

        Ent_AdmCita.CIT_ID_CITA = (Int32)Session["IDCita"];

        if (objFacadeCita.EliminarCita(Ent_AdmCita))
        {
            dgListadoCita.DataSource = null;
            dgListadoCita.DataBind();
            ObjectDataSource1.DataBind();

            //Util.showmsg("Cita Eliminada!!!", this.Page);
            lblMensaje.Text = "Cita Eliminada!!!";
            ScriptManager.RegisterStartupScript(this, typeof(Page), "scriptkey", "pcMensaje.Show();", true);
            //Response.Redirect("wfCitaListado.aspx", true);
        }
        else
        {
            //Util.showmsg("Error: No Se pudo Eliminar la Cita", this.Page);
            lblMensaje.Text = "Error: No Se pudo Eliminar la Cita";
            ScriptManager.RegisterStartupScript(this, typeof(Page), "scriptkey", "pcMensaje.Show();", true);
        }
    }
}